package com.order.www;

/**
 * Creared with IntelliJ IDEA.
 * Description:输入一个整数 n ，输出该数32位二进制表示中1的个数。其中负数用补码表示。
 * User:yxd
 * Date:2022-02-01
 * Time:22:38
 */
public class Bit1 {
    public static void main(String[] args) {
        int n = 10;
        System.out.println(NumberOf1(n));
    }
    public static int NumberOf1(int n) {
        if(n == 0)return 0;
        int count = 0;
        while(n != 0){
            n = n & (n -1);//每次相与可以消除一个1,避免无效运算
            count ++;
        }
        return count;
    }
}
